﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using StyleMVVM.DependencyInjection.Impl;

namespace StyleMVVM.DependencyInjection
{
	/// <summary>
	/// This attribute allows you to tell the DI container that you would like to export this type by all the interfaces it implements
	/// </summary>
	public class ExportByInterfacesAttribute : Attribute, IExportByInterfacesAttribute
	{
		public ExportByInterfacesAttribute()
		{
			SkipMicrosoftInterfaces = true;
		}

		/// <summary>
		/// Skip interface in the Microsoft & System namespaces (true by default)
		/// </summary>
		public bool SkipMicrosoftInterfaces { get; set; }
	}
}